Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support


AppleTalk
#2:    ProDOS 8 Compatibility on the IIe and IIGS

Written by:    Mark Day                                         November 1988

This Technical Note describes areas which could cause an application to run 
under the AppleShare Apple IIe workstation software, but fail under the Apple 
IIGS workstation software.
_____________________________________________________________________________

o    If code is running in auxiliary memory in emulation mode (e.g., 
     ProDOS 8 programs that run code from auxiliary memory), make sure 
     $0100 in auxiliary memory is set to the normal stack pointer and 
     $0101 in auxiliary memory is set to the auxiliary (alternate) 
     stack pointer.  (See page 93 of the Apple IIe Technical Reference 
     Manual.)
o    Make sure ProDOS calls are not made from auxiliary memory; Apple 
     has never recommended doing this, and it is not supported.
o    Make sure interrupts are enabled when making ProDOS 8 calls.
o    Make sure interrupts are not disabled for long periods of time, 
     nor for a high percentage of time.  Whenever interrupts are 
     disabled, there is a chance that an AppleTalk packet will be 
     missed (which could cause AppleShare volumes to be unmounted).  
     The more interrupts are disabled, the more likely that packets 
     will be missed.  This risk is inherent for any application that 
     disables interrupts (directly or indirectly), therefore, 
     interrupts should be disabled with discretion and only when 
     absolutely necessary.
o    Make sure programs get the completion routine return address from 
     the GetInfo call when they are started.
o    Make sure to identify AppleTalk by calling GetInfo and checking 
     for an invalid call number error (which means AppleTalk is not 
     present).  Do not use the ATLK signature bytes for identification.  
     See Apple II AppleTalk Technical Note #1, Identifying AppleTalk.


Further Reference
o    Apple IIe Technical Reference Manual
o    Apple II AppleTalk Technical Note #1, Identifying AppleTalk

